import Vue from 'vue'
import Vuex from './myvuex'
Vue.use(Vuex)
// Vue.use(实参)  会默认 执行某些方法；  会根据 实参的类型进行不同的操作
//  首先会调用  实参的install方法； 若这个方法不存在 再看这个实参是不是一个函数，
// 若是 则会把这个函数执行 ；不是， 就不再向下执行了
console.log(Vue.use)

export default new Vuex.Store({
  state: {
    count:100
  },
  mutations: {
    changeCount(state,option){
      state.count += option
    }
  },
  actions: {
    changeCountAsync(store,option){
      setTimeout(() => {
        store.commit('changeCount',option)
      }, 1000);
    }
    // changeCountAsync({commit},option){
    //   setTimeout(() => {
    //     commit('changeCount',option)
    //   }, 1000);
    // }
  },
  getters:{
    // 相当与 vuex的计算属性
    type(state){
      return state.count%2 ? "奇数" :"偶数"
    }
  }
})
